package com.bw.module_main

import android.content.Intent
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import com.bw.lib_storage.AppMMKV
import dagger.hilt.android.AndroidEntryPoint

@AndroidEntryPoint
class SplashActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_splash)
        
        // 检查用户是否已同意协议
        if (AppMMKV.userAgreement) {
            // 已同意，直接检查引导页
            checkAndShowGuidePage()
        } else {
            // 未同意，显示用户协议对话框
            showUserAgreementDialog()
        }

    }

    
    private fun showUserAgreementDialog() {
        val builder = AlertDialog.Builder(this)
            .setTitle("用户协议与隐私政策")
            .setMessage("欢迎使用我们的应用！请您阅读并同意用户协议和隐私政策，以便我们为您提供更好的服务。")
            .setPositiveButton("同意") { dialog, _ ->
                dialog.dismiss()
                // 保存用户同意协议的状态
                AppMMKV.userAgreement = true
                // 检查是否需要显示引导页
                checkAndShowGuidePage()
            }
            .setNegativeButton("不同意") { _, _ ->
                // 用户不同意则退出应用
                finish()
            }
            .setCancelable(false) // 不允许点击外部取消
        
        builder.create().show()
    }
    
    private fun checkAndShowGuidePage() {
        Handler(Looper.getMainLooper()).postDelayed({
            if (!AppMMKV.appGuide) {
                // 已看过引导页，直接进入主页面
                startActivity(Intent(this, NavigationMainActivity::class.java))
            } else {
                // 未看过引导页，显示引导页
                startActivity(Intent(this, GuideActivity::class.java))
            }
            finish()
        }, 2000) // 闪屏显示2秒
    }
}